# -*- coding:utf-8 -*-
from datalayer.mysql import MySQL
class CPData:
    
    connection_pool = None
    
    def __init__(self):
        if CPData.connection_pool is None:
            #先直接从mysql取数据
            self.mysql = MySQL()
            CPData.connection_pool = self.mysql
            
            if self.connect() is False:
                #说明没连接成功，严重错误，需要记录日志
                print '$terrible error in datasource$'
    
    def connect(self):
        '''连接具体的数据源
        @return: True表示连接成功；False表示连接失败
        '''
        return CPData.connection_pool.connectdb()
    
    def close(self):
        '''与数据源断开连接'''
        return CPData.connection_pool.close()
    
    def check_user_availability(self,field,value):
        '''
        @param field: 用户需要检查的字段
        @param value: 字段值
        @return: True表示已查到；False表示未查到
        '''
        return CPData.connection_pool.check_user_availability(field, value)
    
    def user_register(self,email,password,nickname):
        '''
        @param email: 用户email
        @param password: 密码
        @param nickname: 用户昵称
        @return: (True,user_info)表示注册成功,user_info是一个dict，包含'user_money'表示余额，'user_bonus'表示剩余积分
                (False,info)表示注册失败，info字符串是失败原因提示
        '''
        status,user_info = CPData.connection_pool.user_register(email,password,nickname)
        if status is True:
            user_info = dict()
            user_info['user_money'] = 0
            user_info['user_bonus'] = 0
        return status,user_info
        